#pragma once

#include "includes.h"
#include "Tile.h"

class Board
{
private:
	float sizeOfTile;
	int size;
	vector<vector<Tile>> content;
	string sContent;
public:
	Board(int s) 
	{
		size = s;
		initialBoard();
	}

	Board() {}

	void setSize(int s)
	{
		size = s;
	}

	int getSize()
	{
		return size;
	}

	float getSizeOfTile()
	{
		return sizeOfTile;
	}

	Tile getTile(int row, int column)
	{
		return content[row][column];
	}

	void setContentS(string c)
	{
		sContent = c;
		convertContentS();
	}

	vector<vector<Tile>> * getContent()
	{
		return &content;
	}

	void initialBoard();
	void render(GLenum mode);
	void printBoardOnConsole();
	void setPieceBoard(Piece test, float posX, float posY);
	void shiftRow(int row, string side);
	void shiftColumn(int column, string side);
	void animateShiftRow(int row, string side);
	void convertContentS();
	void render_arrow(GLenum mode, int id);
	int  arrows(int i, int id, GLenum mode, int size_t );
	string board2String();
	void clearBoard();
};